home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / libg_261.zip / libg_261 / libg++ / tests / Makefile.sh < prev    next >
Makefile  |  1994-10-24  |  5KB  |  179 lines

  1. cat <<'EOF'
  2. # test files
  3. TSRCS =  tObstack.cc tString.cc tInteger.cc tRational.cc \
  4.  tComplex.cc tBitSet.cc tBitString.cc tRandom.cc tList.cc tPlex.cc \
  5.  tLList.cc tVec.cc tStack.cc tQueue.cc tDeque.cc tPQ.cc tSet.cc  tBag.cc \
  6.  tMap.cc tFix.cc tFix16.cc tFix24.cc \
  7.  tCurses.cc tGetOpt.cc \
  8.  tiLList.cc
  9. EOF
  10.  
  11. TESTS0="tObstack tString tInteger tRational tComplex tBitSet"\
  12. " tBitString tFix tFix16 tFix24 tRandom"
  13. TESTS1="tStack tQueue tDeque tPQ tSet tBag tMap tList tPlex tLList tVec"
  14.  
  15. cat <<EOF
  16. # executables
  17. TOUTS =  test_h tCurses ${TESTS0} ${TESTS1} tiLList tGetOpt
  18.  
  19. EOF
  20.  
  21. cat <<'EOF'
  22. # files for archived prototype classes
  23. LOBJS = \
  24.  iList.o iSLList.o iDLList.o iVec.o iAVec.o \
  25.  iPlex.o  iFPlex.o  iXPlex.o iRPlex.o iMPlex.o \
  26.  iSet.o iBag.o iMap.o iPQ.o \
  27.  iXPSet.o  iOXPSet.o  iSLSet.o  iOSLSet.o  iBSTSet.o iCHNode.o \
  28.  iAVLSet.o  iSplayNode.o iSplaySet.o  iVHSet.o  iVOHSet.o  iCHSet.o \
  29.  iXPBag.o  iOXPBag.o  iSLBag.o  iOSLBag.o  iSplayBag.o iVHBag.o  iCHBag.o \
  30.  iVHMap.o  iCHMap.o  iSplayMap.o  iAVLMap.o iRAVLMap.o \
  31.  iSplayPQ.o  iPHPQ.o  iXPPQ.o \
  32.  iVStack.o iVQueue.o iStack.o iQueue.o iDeque.o \
  33.  iXPStack.o iSLStack.o iXPQueue.o  iSLQueue.o iXPDeque.o iDLDeque.o
  34.  
  35. LSRCS = \
  36.  iList.cc iSLList.cc iDLList.cc iVec.cc iAVec.cc \
  37.  iPlex.cc  iFPlex.cc  iXPlex.cc iRPlex.cc iMPlex.cc \
  38.  iSet.cc iBag.cc iMap.cc iPQ.cc \
  39.  iXPSet.cc  iOXPSet.cc  iSLSet.cc  iOSLSet.cc  iBSTSet.cc iCHNode.cc \
  40.  iAVLSet.cc  iSplayNode.cc iSplaySet.cc  iVHSet.cc  iVOHSet.cc  iCHSet.cc \
  41.  iXPBag.cc iOXPBag.cc iSLBag.cc iOSLBag.cc  iSplayBag.cc iVHBag.cc iCHBag.cc \
  42.  iVHMap.cc  iCHMap.cc  iSplayMap.cc  iAVLMap.cc iRAVLMap.cc \
  43.  iSplayPQ.cc  iPHPQ.cc  iXPPQ.cc \
  44.  iVStack.cc iVQueue.cc iStack.cc iQueue.cc iDeque.cc \
  45.  iXPStack.cc iSLStack.cc iXPQueue.cc  iSLQueue.cc iXPDeque.cc iDLDeque.cc
  46.  
  47. DEPEND_SOURCES = $(srcdir)/*.cc $(LSRCS)
  48.  
  49. LHDRS =  idefs.h 
  50.  
  51. .PHONY: all
  52. all:
  53.  
  54. .PHONY: info
  55. info:
  56. .PHONY: install-info
  57. install-info:
  58. .PHONY: clean-info
  59. clean-info:
  60.  
  61. .PHONY: check
  62. check: tests
  63.  
  64. .PHONY: check-tGetOpt
  65. EOF
  66.  
  67. for TEST in ${TESTS0} ${TESTS1} ; do
  68.   echo ".PHONY: check-${TEST}"
  69.   echo "check-${TEST}: ${TEST}" '$(srcdir)'"/${TEST}.inp"
  70.   echo "    ./${TEST} < "'$(srcdir)'"/${TEST}.inp > ${TEST}.out 2>&1"
  71.   echo '    diff -b $(srcdir)/'"${TEST}.exp ${TEST}.out"
  72. done
  73.  
  74. cat <<'EOF'
  75.  
  76. check-tiLList: tiLList $(srcdir)/tLList.inp
  77.     ./tiLList < $(srcdir)/tLList.inp > tiLList.out 2>&1
  78.     diff -b $(srcdir)/tLList.exp tiLList.out
  79.  
  80. check-tGetOpt: tGetOpt $(srcdir)/tGetOpt.inp
  81.     ./tGetOpt -abc -de10 -2000 -h3i \
  82.       <$(srcdir)/tGetOpt.inp >tGetOpt.out 2>&1
  83.     diff -b $(srcdir)/tGetOpt.exp tGetOpt.out
  84.  
  85. $(TOUTS): $(LIBGXX)
  86.  
  87. LIBTEST=libtest.a
  88.  
  89. # We don't do check-tRandom, because it is not portable.
  90.  
  91. # Comment this out if your compiler doesn't handle templates:
  92. CHECK_TEMPLATES=check-templates
  93.  
  94. tests checktests: clean_tests test_h tCurses \
  95.   check-tObstack check-tString check-tInteger \
  96.   check-tRational check-tComplex check-tBitSet check-tBitString \
  97.   check-tFix check-tFix16 check-tFix24 check-tGetOpt \
  98.   check-tList check-tPlex check-tLList check-tVec \
  99.   check-tStack check-tQueue check-tDeque check-tPQ \
  100.   check-tSet check-tBag check-tMap $(CHECK_TEMPLATES)
  101.     ./test_h
  102.     echo "(Must run tCurses manually from tty)"
  103.  
  104. check-templates: check-tiLList
  105.  
  106. # Build all the tests, but don't run them. (Useful when cross-compiling.)
  107.  
  108. EOF
  109.  
  110. cat <<'EOF'
  111. make-tests: $(TOUTS)
  112.  
  113. test_h: test_h.o
  114.     $(CXX) $(LDFLAGS) test_h.o -o $@ $(LIBS) -lm
  115.     
  116.  
  117.     
  118. $(LIBTEST): $(LHDRS) $(LOBJS)
  119.     rm -f $(LIBTEST)
  120.     $(AR) r $(LIBTEST) $(LOBJS)
  121.     $(RANLIB) $(LIBTEST)
  122.  
  123. #
  124. # other tests
  125. #
  126. EOF
  127.  
  128. LIB_FOR_tRational=-lm
  129. LIB_FOR_tComplex=-lm
  130. LIB_FOR_tInteger=-lm
  131. LIB_FOR_tRandom=-lm
  132. LIB_FOR_tFix=-lm
  133. LIB_FOR_tFix16=-lm
  134. LIB_FOR_tFix24=-lm
  135. LIB_FOR_tCurses="-lcurses -ltermcap"
  136.  
  137. for TEST in $TESTS0 tiLList tCurses tGetOpt; do
  138.   echo "${TEST}: ${TEST}.o"
  139.   echo '    $(CXX) $(LDFLAGS)' "${TEST}.o" '-o $@ $(LIBS)' \
  140.     `eval echo '$LIB_FOR_'$TEST`
  141.   echo ""
  142. done
  143. for TEST in twrapper tgwrapper $TESTS1; do
  144.   echo "${TEST}: " '$(LIBTEST)' " ${TEST}.o"
  145.   echo '    $(CXX) $(LDFLAGS)' "${TEST}.o" '-o $@ $(LIBTEST) $(LIBS)'
  146.   echo ""
  147. done
  148.  
  149. cat <<'EOF'
  150. idefs.h:
  151.     PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val defs i
  152. EOF
  153.  
  154. for TEST in Set XPSet OXPSet SLSet OSLSet BSTSet AVLSet SplayNode SplaySet VHSet VOHSet CHSet CHNode Bag XPBag OXPBag SLBag OSLBag SplayBag VHBag CHBag PQ PHPQ SplayPQ XPPQ Stack Queue Deque SLStack SLQueue DLDeque List Plex FPlex XPlex MPlex RPlex FPStack XPStack FPQueue XPQueue XPDeque SLList DLList Vec AVec; do
  155.   echo "i$TEST.h i$TEST.cc:"
  156.   echo '    PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val' $TEST i
  157. done
  158.  
  159. for TEST in Map VHMap CHMap SplayMap AVLMap RAVLMap; do
  160.   echo "i${TEST}.h i$TEST.cc:"
  161.   echo '    PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) -2 int val int val' $TEST i
  162. done
  163.  
  164. cat <<'EOF'
  165. iVStack.h iVStack.cc: iStack.h
  166.     PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val VStack i
  167. iVQueue.h iVQueue.cc: iQueue.h
  168.     PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val VQueue i
  169.  
  170. relink: force
  171.     rm -f $(TOUTS)
  172.  
  173. .PHONY: clean_tests
  174. clean_tests: force
  175.     rm -f *.out
  176.  
  177. force:
  178. EOF
  179.